package command;

import gestionnaire.Gestionnaire;
import memento.Memento;
import receiver.Enregistreur;
import receiver.ME;

public class Coller implements Command {

	/**
	 * le moteur d'edition
	 */
	ME moteur ;
	/**
	 * enregistreur
	 */
	Enregistreur enr;

	/**
	 * Construit une commande concrete Coller
	 * @param moteur : le moteur d'edition
	 */
	public Coller (ME moteur){
		this.moteur = moteur;
	}

	@Override
	public void executer() {
		//on informe le gestionnaire la future modification
		try {
			Gestionnaire.getInstance().sauvegarder();
		} catch (CloneNotSupportedException e) {
			e.printStackTrace();
		}
		moteur.coller();

		//on enregistre la commande si enregistrement est activé
		if (Enregistreur.getInstance().isEnMarche())
			Enregistreur.getInstance().enregistrer(this);

	}

	@Override
	public void rejouer() {
		moteur.coller();
	}

	@Override
	public Memento getMemento() {
		return null;
	}

	@Override
	public void setMemento(Memento memento) {
		//ne fait rien
	}



}
